import { ref } from 'vue';
import { defineStore } from 'pinia';
import { loginAPI } from '@/apis/user';

export const useUserStore = defineStore(
  'user',
  () => {
    // 定义管理用户的 state
    const userInfo = ref({});
    // 定义获取接口数据的 action 函数
    const getUserInfo = async ({ account, password }) => {
      await loginAPI({ account, password }).then((data) => {
        let { code, result } = data;
        if (code === '1') {
          // 用户数据放入 Pinia
          userInfo.value = result;
        }
      });
    };
    // 清除用户信息
    const clearUserInfo = () => {
      userInfo.value = {};
    };
    // 以对象的格式将 state 和 action return
    return {
      userInfo,
      getUserInfo,
      clearUserInfo,
    };
  },
  {
    persist: true,
  }
);
